import unittest
import os.path
import time
from HTMLTestRunner import HTMLTestRunner

# loader
"""
# unittest.defaultTestLoader
# 相当于创建一个加载器对象 loader = unittest.TestLoader()
"""
loader = unittest.defaultTestLoader.discover('test_cases', 'test*')

# runner
# 准备要写入的文件
# 文件名规则: 年月日时分秒-项目(模块名).html
report = os.path.abspath('report')
filename = time.strftime('%Y%m%d-%H%M%S') + '_demo.html'
filepath = os.path.join(report, filename)

# 写入文件, 执行测试用例, 生成测试报告
with open(filepath, 'wb') as f:
    # 文件操作 (在代码块中执行,执行完文件句柄会自动关闭)
    runner = HTMLTestRunner(
        title='这里写测试报告的标题',
        description='这里写测试报告的描述信息',
        tester='tester01',
        stream=f,
        verbosity=2
    )
    runner.run(loader)
